from typing import Any

from pydantic import BaseModel

class RecognitionRequest(BaseModel):
    """
    识别请求模型类，用于定义和处理不同类型的数据识别请求。

    参数:
    - type: str - 请求的数据类型，可选值为"image"、"video"或"stream"。
    - payload: bytes - 编码后的数据，例如图片可为JPEG格式，视频可为MP4格式。
    """
    type: str  # 请求的数据类型
    url: str  # 数据url
    payload: bytes  # 编码后的数据内容
    attr: object  # 其他参数

class RecognitionResponse(BaseModel):
    """
    识别响应模型类，用于封装识别操作的响应数据。

    参数:
    - result: Any - 根据后处理输出格式而定的结果类型，可以是任意类型的数据。
    - request_id: str - 请求的唯一标识符。
    """
    result: Any  # 结果数据，类型取决于后处理的输出格式
    request_id: str  # 请求的唯一ID，用于追踪和识别请求
